#include "./QTC_MediaHandler.h"

#include <qul/quicktime/base6/BasicMacros.h>


#define RESULT_TYPE				QTC_Result
#define COMPLETE_NAME(name)		CAT2(QTC_MediaHandler_,name) (void *pUnk
#define D_COMMA()				,
#define CALL_PROC(name)			((qtc::MediaHandler *)pUnk)->name (
#define C_COMMA()				
#include <qul/quicktime/base6/procdef.h>

#define CONVERT()				((qtc::MediaHandler *)pUnk)


//////////////////////////////////////////////////////////////////////////
// Core Selector Range

DEFINE_PROC_1(Target, ComponentInstance, ciTarget)
DEFINE_PROC_0(Register)
DEFINE_PROC_0(Version)
// Place reserved for [:CanDo:] ...
DEFINE_PROC_1(Close, ComponentInstance, ciSelf)
DEFINE_PROC_1(Open, ComponentInstance, ciSelf)

//////////////////////////////////////////////////////////////////////////
// Derived Media-handler Range

DEFINE_PROC_1(Initialize, GetMovieCompleteParams*, pGMC)
DEFINE_PROC_4(Idle, TimeValue, timeMedia, long, flagsIn, long*, pFlagsOut, 
			  const TimeRecord*, pTimeMovie)
DEFINE_PROC_1(GetMediaInfo, Handle, h)
// Place reserved for [:PutMediaInfo:] ...
DEFINE_PROC_1(SetActive, Boolean, mediaEnable)
DEFINE_PROC_1(SetRate, Fixed, rate)
// Place reserved for [:GGetStatus:] ...
DEFINE_PROC_0(TrackEdited)
// Place reserved for [:SetMediaTimeScale:] ...
// Place reserved for [:SetMovieTimeScale:] ...
DEFINE_PROC_2(SetGWorld, CGrafPtr, port, GDHandle, gd)
DEFINE_PROC_2(SetDimensions, Fixed, width, Fixed, height)
// Place reserved for [:SetClip:] ...
DEFINE_PROC_1(SetMatrix, MatrixRecord*, pMatrix)
// Place reserved for [:GetTrackOpaque:] ...
// Place reserved for [:SetGraphicsMode:] ...
// Place reserved for [:GetGraphicsMode:] ...
// Place reserved for [:GSetVolume:] ...
// Place reserved for [:SetSoundBalance:] ...
// Place reserved for [:GetSoundBalance:] ...
// Place reserved for [:GetNextBoundsChange:] ...
// Place reserved for [:GetSrcRgn:] ...
// Place reserved for [:Preroll:] ...
DEFINE_PROC_1(SampleDescriptionChanged, long, index)
DEFINE_PROC_2(HasCharacteristic, OSType, characteristic, Boolean*, pHasIt)
// Place reserved for [:HasCharacteristic:] ...
// Place reserved for [:GetOffscreenBufferSize:] ...
// Place reserved for [:SetHints:] ...
// Place reserved for [:GetName:] ...
// Place reserved for [:ForceUpdate:] ...
// Place reserved for [:GetDrawingRgn:] ...
// Place reserved for [:GSetActiveSegment:] ...
// Place reserved for [:InvalidateRegion:] ...
// Place reserved for [:GetNextStepTime:] ...
// Place reserved for [:SetNonPrimarySourceData:] ...
// Place reserved for [:ChangedNonPrimarySource:] ...
// Place reserved for [:TrackReferencesChanged:] ...
// Place reserved for [:GetSampleDataPointer:] ...
// Place reserved for [:ReleaseSampleDataPointer:] ...
// Place reserved for [:TrackPropertyAtomChanged:] ...
// Place reserved for [:SetTrackInputMapReference:] ...
// Place reserved for [:SetVideoParam:] ...
// Place reserved for [:GetVideoParam:] ...
// Place reserved for [:Compare:] ...
// Place reserved for [:GetClock:] ...
// Place reserved for [:SetSoundOutputComponent:] ...
// Place reserved for [:GetSoundOutputComponent:] ...
// Place reserved for [:SetSoundLocalizationData:] ...
// Place reserved for [:GetInvalidRegion:] ...
DEFINE_PROC_1(SampleDescriptionB2N, SampleDescriptionHandle, hDesc)
DEFINE_PROC_1(SampleDescriptionN2B, SampleDescriptionHandle, hDesc)
// Place reserved for [:QueueNonPrimarySourceData:] ...
// Place reserved for [:FlushNonPrimarySourceData:] ...
// Place reserved for [:GetURLLink:] ...
// Place reserved for [:MakeMediaTimeTable:] ...
// Place reserved for [:HitTestForTargetRefCon:] ...
// Place reserved for [:HitTestTargetRefCon:] ...
// Place reserved for [:GetActionsForQTEvent:] ...
// Place reserved for [:DisposeTargetRefCon:] ...
// Place reserved for [:TargetRefConsEqual:] ...
// Place reserved for [:SetActionsCallback:] ...
// Place reserved for [:PrePrerollBegin:] ...
// Place reserved for [:PrePrerollCancel:] ...
// Place reserved for [:EnterEmptyEdit:] ...
// Place reserved for [:CurrentMediaQueuedData:] ...
// Place reserved for [:GetEffectiveVolume:] ...
// Place reserved for [:ResolveTargetRefCon:] ...
// Place reserved for [:GetSoundLevelMeteringEnabled:] ...
// Place reserved for [:SetSoundLevelMeteringEnabled:] ...
// Place reserved for [:GetSoundLevelMeterInfo:] ...
// Place reserved for [:GetEffectiveSoundBalance:] ...
// Place reserved for [:SetScreenLock:] ...
// Place reserved for [:SetDoMCActionCallback:] ...
// Place reserved for [:GetErrorString:] ...
// Place reserved for [:GetSoundEqualizerBands:] ...
// Place reserved for [:SetSoundEqualizerBands:] ...
// Place reserved for [:GetSoundEqualizerBandLevels:] ...
// Place reserved for [:DoIdleActions:] ...
// Place reserved for [:SetSoundBassAndTreble:] ...
// Place reserved for [:GetSoundBassAndTreble:] ...



